<!DOCTYPE html>



  


<html class="theme-next gemini use-motion" lang="zh-Hans">
<head><meta name="generator" content="Hexo 3.8.0">
  <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="theme-color" content="#222">









<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Cache-Control" content="no-siteapp">
















  
  
  <link href="/limh/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css">







<link href="/limh/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css">

<link href="/limh/css/main.css?v=5.1.4" rel="stylesheet" type="text/css">


  <link rel="apple-touch-icon" sizes="180x180" href="/limh/images/apple-touch-icon-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="32x32" href="/limh/images/favicon-32x32-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="16x16" href="/limh/images/favicon-16x16-next.png?v=5.1.4">


  <link rel="mask-icon" href="/limh/images/logo.svg?v=5.1.4" color="#222">





  <meta name="keywords" content="教程,">










<meta name="description" content="2.2 存储器的管理模式&amp;#8195;&amp;#8195;Intel公司的80X86系列的CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段，每个段的起点用一个段寄存器来记忆，所以，学习微机汇编语言，必须要清楚地理解存储器的分段含义、存储单元的逻辑地址和其物理地址之间的转换关系。 2.2.1 16位微机的内存管理模式1、存储器的分段&amp;#8195;&amp;#8195;我们知道：计算机的内存单元是以“">
<meta name="keywords" content="教程">
<meta property="og:type" content="article">
<meta property="og:title" content="2.2 存储器的管理模式">
<meta property="og:url" content="https://tdnr.gitee.io/limh/2015/04/01/asm04/index.html">
<meta property="og:site_name" content="土逗牛肉">
<meta property="og:description" content="2.2 存储器的管理模式&amp;#8195;&amp;#8195;Intel公司的80X86系列的CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段，每个段的起点用一个段寄存器来记忆，所以，学习微机汇编语言，必须要清楚地理解存储器的分段含义、存储单元的逻辑地址和其物理地址之间的转换关系。 2.2.1 16位微机的内存管理模式1、存储器的分段&amp;#8195;&amp;#8195;我们知道：计算机的内存单元是以“">
<meta property="og:locale" content="zh-Hans">
<meta property="og:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0000.gif">
<meta property="og:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0001.gif">
<meta property="og:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/002_0000.gif">
<meta property="og:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0002.gif">
<meta property="og:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0003.gif">
<meta property="og:updated_time" content="2019-01-20T14:21:27.841Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="2.2 存储器的管理模式">
<meta name="twitter:description" content="2.2 存储器的管理模式&amp;#8195;&amp;#8195;Intel公司的80X86系列的CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段，每个段的起点用一个段寄存器来记忆，所以，学习微机汇编语言，必须要清楚地理解存储器的分段含义、存储单元的逻辑地址和其物理地址之间的转换关系。 2.2.1 16位微机的内存管理模式1、存储器的分段&amp;#8195;&amp;#8195;我们知道：计算机的内存单元是以“">
<meta name="twitter:image" content="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0000.gif">



<script type="text/javascript" id="hexo.configurations">
  var NexT = window.NexT || {};
  var CONFIG = {
    root: '/limh/',
    scheme: 'Gemini',
    version: '5.1.4',
    sidebar: {"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false},
    fancybox: true,
    tabs: true,
    motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
    duoshuo: {
      userId: '0',
      author: '博主'
    },
    algolia: {
      applicationID: '',
      apiKey: '',
      indexName: '',
      hits: {"per_page":10},
      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
    }
  };
</script>



  <link rel="canonical" href="https://tdnr.gitee.io/limh/2015/04/01/asm04/">





  <title>2.2 存储器的管理模式 | 土逗牛肉</title>
  








</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans ">

  
  
    
  

  <div class="container sidebar-position-left page-post-detail">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-wrapper">
  <div class="site-meta ">
    

    <div class="custom-logo-site-title">
      <a href="/limh/" class="brand" rel="start">
        <span class="logo-line-before"><i></i></span>
        <span class="site-title">土逗牛肉</span>
        <span class="logo-line-after"><i></i></span>
      </a>
    </div>
      
        <p class="site-subtitle"></p>
      
  </div>

  <div class="site-nav-toggle">
    <button>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
    </button>
  </div>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/limh/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br>
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/limh/archives/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br>
            
            归档
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/limh/tags/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br>
            
            标签
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/limh/categories/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br>
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/limh/about/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br>
            
            关于
          </a>
        </li>
      

      
    </ul>
  

  
</nav>



 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  

  
  
  

  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
  
  
  
  <div class="post-block">
    <link itemprop="mainEntityOfPage" href="https://tdnr.gitee.io/limh/limh/2015/04/01/asm04/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="name" content="土逗牛肉">
      <meta itemprop="description" content>
      <meta itemprop="image" content="/limh/images/avatar.jpg">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="土逗牛肉">
    </span>

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">2.2 存储器的管理模式</h1>
        

        <div class="post-meta">
          <span class="post-time">
            
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              
                <span class="post-meta-item-text">发表于</span>
              
              <time title="创建于" itemprop="dateCreated datePublished" datetime="2015-04-01T20:35:29+08:00">
                2015-04-01
              </time>
            

            

            
          </span>

          
            <span class="post-category">
            
              <span class="post-meta-divider">|</span>
            
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              
                <span class="post-meta-item-text">分类于</span>
              
              
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/limh/categories/汇编教程/" itemprop="url" rel="index">
                    <span itemprop="name">汇编教程</span>
                  </a>
                </span>

                
                
              
            </span>
          

          
            
          

          
          

          

          

          

        </div>
      </header>
    

    
    
    
    <div class="post-body" itemprop="articleBody">

      
      

      
        <h2 id="2-2-存储器的管理模式"><a href="#2-2-存储器的管理模式" class="headerlink" title="2.2 存储器的管理模式"></a>2.2 存储器的管理模式</h2><p>&#8195;&#8195;Intel公司的80X86系列的CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段，每个段的起点用一个段寄存器来记忆，所以，学习微机汇编语言，必须要清楚地理解存储器的分段含义、存储单元的逻辑地址和其物理地址之间的转换关系。</p>
<h3 id="2-2-1-16位微机的内存管理模式"><a href="#2-2-1-16位微机的内存管理模式" class="headerlink" title="2.2.1 16位微机的内存管理模式"></a>2.2.1 16位微机的内存管理模式</h3><h4 id="1、存储器的分段"><a href="#1、存储器的分段" class="headerlink" title="1、存储器的分段"></a>1、存储器的分段</h4><p>&#8195;&#8195;我们知道：计算机的内存单元是以“字节”为最小单位进行线性编址的。为了标识每个存储单元，就给每个存储单元规定一个编号，此编号就是该存储单元的物理地址。</p>
<p>&#8195;&#8195;存储单元的物理地址是一个无符号的二进制数。但为了书写的简化，物理地址通常用十六进制来表示。</p>
<p>&#8195;&#8195;16位CPU内部有20根地址线，其编码区间为：00000H~0FFFFFH，所以，它可直接访问的物理空间为1M(220)字节。而16位CPU内部存放存储单元偏移量的寄存器（如：IP、SP、BP、SI、DI和BX等）都是16位，它们的编码范围仅为：00000H~0FFFFH。这样，如果用16位寄存器来访问内存的话，则只能访问内存的最低端的64K，其它的内存将无法访问。为了能用16位寄存器来有效地访问1M的存储空间，16位CPU采用了内存分段的管理模式，并引用段寄存器的概念。</p>
<p>16位微机把内存空间划分成若干个逻辑段，每个逻辑段的要求如下：</p>
<p><img src="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0000.gif" alt="图2.4 16位微机内存分段管理示意图"></p>
<center><strong>图2.4 16位微机内存分段管理示意图</strong></center>

<p>&#8195;&#8195;逻辑段的起始地址(通常简称为：段地址)必须是16的倍数，即最低4位二进制必须全为0；</p>
<p>&#8195;&#8195;逻辑段的最大容量为64K，这由16位寄存器的寻址空间所决定。</p>
<p>&#8195;&#8195;按上述规定，1M内存最多可分成64K个段，即65536个段(段之间相互重叠)，至少可分成16个相互不重叠的段。<br>上图2.4是内存各逻辑段之间的分布情况示意图，其中有相连的段(如：C和D段)、不相连的段(如：A和B段)以及相互重叠的段(如：B和C段)。</p>
<p>&#8195;&#8195;这种存储器分段的内存管理方法不仅实现了用两个16位寄存器来访问1M的内存空间，而且对程序的重定位、浮动地址的编码和提高内存的利用率等方面都具有重要的实用价值。</p>
<h4 id="2、物理地址的形成方式"><a href="#2、物理地址的形成方式" class="headerlink" title="2、物理地址的形成方式"></a>2、物理地址的形成方式</h4><p>&#8195;&#8195;由于规定段地址必须是16的倍数，所以，其值的一般形式为：XXXX0H，即：前16位二进制位是变化的，后四位是固定为0。鉴于段地址的这种特性，我们可以仅保存其前16位二进制来达到保存整个段地址，其后四位可通过“左移补0”来获得。</p>
<p>&#8195;&#8195;在确定了某个存储单元所属的内存段后，我们也只知道其所处内存位置的范围，还不能确定其具体位置。要想确定内存单元的具体位置，还必须知道该单元离该段地址有多远。我们通常把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移，也可称为有效地址(EA—Effective Address)或偏移量(Offset)等。有了段地址和偏移量，就能唯一地确定某一内存单元在存储器内的具体位置。</p>
<p>&#8195;&#8195;由此可见，存储单元的逻辑地址分为两部分：段地址和偏移量。由逻辑地址得到其物理地址(PA—Physical Address)的计算方法如下：</p>
<center><strong>物理地址PA=段地址×16 + 偏移量</strong></center>

<p>计算存储单元物理地址的公式可用“左移4位”和“加”运算来实现。图2.5是物理地址的计算示意图。</p>
<p><img src="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0001.gif" alt="图2.5 16位CPU物理地址计算示意图"></p>
<center><strong>图2.5 16位CPU物理地址计算示意图</strong></center>

<p><img src="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/002_0000.gif" alt="图2.6 物理地址和逻辑地址之间的关系"></p>
<center><strong>图2.6 物理地址和逻辑地址之间的关系</strong></center>

<p>&#8195;&#8195;对物理地址来说，当段地址变化时，只要对其偏移量进行相应的调整就可对应同一个物理地址，所以，同一个物理地址可有多个逻辑地址。如图2.6所示。</p>
<p>&#8195;&#8195;在汇编语言程序中，存储单元通常不是用其物理地址标识的，而是用其逻辑地址标识的。逻辑地址的段地址由段寄存器给出，偏移量可由寄存器(SI、DI、BP和BX等)给出，也可用符号地址或具体的数值给出。至于在指令中如何指出存储单元的逻辑地址将在第3章“寻址方式”中给出详细说明。</p>
<h4 id="3、段寄存器的引用"><a href="#3、段寄存器的引用" class="headerlink" title="3、段寄存器的引用"></a>3、段寄存器的引用</h4><p>&#8195;&#8195;段寄存器是因为对内存的分段管理而设置的。16位CPU有四个段寄存器，所以，其程序可同时访问四个不同含义的段。段寄存器及其偏移量的引用关系如图2.7所示。</p>
<p>&#8195;&#8195;段寄存器CS指向存放程序的内存段，IP是用来存放下条待执行的指令在该段的偏移量，把它们合在一起可在该内存段内取到下次要执行的指令。</p>
<p>&#8195;&#8195;段寄存器SS指向用于堆栈的内存段，SP是用来指向该堆栈的栈顶，把它们合在一起可访问栈顶单元。另外，当偏移量用到了指针寄存器BP，则其缺省的段寄存器也是SS，并且用BP可访问整个堆栈，不仅仅是只访问栈顶。</p>
<p>&#8195;&#8195;段寄存器DS指向数据段，ES指向附加段，在存取操作数时，二者之一和一个偏移量合并就可得到存储单元的物理地址。该偏移量可以是具体数值、符号地址和指针寄存器的值等之一，具体情况将由指令的寻址方式来决定。</p>
<p><img src="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0002.gif" alt="图2.7 段和段寄存器的引用示意图"></p>
<center><strong>图2.7 段和段寄存器的引用示意图</strong></center>

<p>&#8195;&#8195;通常，缺省的数据段寄存器是DS，只有一个例外，即：在进行串操作时，其目的地址的段寄存器规定为ES。当然，在一般指令中，我们还可以用强置前缀的方法来改变操作数的段寄存器(见：第3.3节中的强置前缀的书写格式)。</p>
<p>&#8195;&#8195;一般情况下，段寄存器及其指针寄存器的引用关系如下表所示。表2.2中的“可选用的段寄存器”即是可以用强置说明这些段寄存器的值来作为其操作数地址的段地址。</p>
<p>表2.2 段寄存器及其指针寄存器的引用关系</p>
<table><tr><td colspan="2"><br>访问存储器方式 </td><td>缺省的段寄存器</td><td>可选用的段寄存器</td><td>偏移量</td></tr><tr><td colspan="2"><p>取指令</p></td><td>CS</td><td>&nbsp;</td><td>IP</td></tr><tr><td colspan="2"><p>堆栈操作</p></td><td>SS</td><td>&nbsp;</td><td>SP</td></tr><tr><td colspan="2"><p>一般取操作数</p></td><td>DS</td><td>CS、ES、SS</td><td>有效地址</td></tr><tr><td rowspan="2"><p>串操作</p></td><td>源操作数</td><td>DS</td><td>CS、ES、SS</td><td>SI</td></tr><tr><td>目标操作数</td><td>ES</td><td>&nbsp;</td><td>DI</td></tr><tr><td colspan="2"><p>使用指针寄存器BP</p></td><td>SS</td><td>CS、DS、ES</td><td>有效地址</td></tr></table>

<p>由上表可以看出16位CPU在段寄存器的引用方面有如下规定：</p>
<ol>
<li>取指令所用的段寄存器和偏移量一定是用CS和IP；</li>
<li>堆栈操作所用的段寄存器和偏移量一定是SS和SP；</li>
<li>串操作的目标操作数所用的段寄存器和偏移量一定是ES和DI；</li>
<li>其它情况，段寄存器除了其默认引用的寄存器外，还可以强行改变为其它段寄存器。</li>
</ol>
<p>对于上述规定，随着后续内容的叙述，将会对它们有更进一步理解。</p>
<h4 id="4、存储单元的内容"><a href="#4、存储单元的内容" class="headerlink" title="4、存储单元的内容"></a>4、存储单元的内容</h4><p>&#8195;&#8195;上面，我们讲述了16位微机的内存管理及其相关知识，知道了内存单元物理地址的计算方法，这使我们能很容易地指定所要访问的存储单元。但存储单元里的内容是如何存放的呢？下面就能描述数值在内存的存放形式。</p>
<p>&#8195;&#8195;存储单元中所存放的二进制信息通常称为该存储单元的内容或值，并且规定：</p>
<ol>
<li>一个字节的内容是该字节单元内存放的二进制信息；</li>
<li>一个字的内容是该字地址所指向的单元及其后继一个单元的内容拼接而成；</li>
<li>一个双字的内容是该字地址所指向的单元及其后继三个单元的内容拼接而成。</li>
</ol>
<p>&#8195;&#8195;在拼接“字内容”时，我们按“高高低低”的原则来处理，即：高存储单元(地址大的存储单元)的值是“字内容”的高8位，低存储单元(地址小的存储单元)的值是“字内容”的低8位。在拼接“双字内容”时也是如此。</p>
<p>图2.8是一段内存单元存放数据的例子。 从图中可看出下列存储结果：</p>
<p><img src="http://www.iteedu.com/plang/asm/asmhbyychxshj/images/001_0003.gif" alt="图2.8 内存单元存放内容示意图"></p>
<center><strong>图2.8 内存单元存放内容示意图</strong></center>

<p>字节12340H、12341H的内容分别为：12H和34H等；</p>
<p>字12340H、12341H的内容分别为：3412H和5634H等；</p>
<p>双字12340H、12341H的内容分别为：78563412H和90785634H等。</p>
<h3 id="2-2-2-32位微机的内存管理模式"><a href="#2-2-2-32位微机的内存管理模式" class="headerlink" title="2.2.2 32位微机的内存管理模式"></a>2.2.2 32位微机的内存管理模式</h3><p>&#8195;&#8195;32位微机的内存存管理仍然采用“分段”的管理模式，存储器的逻辑地址同样由段地址和偏移量两部分组成。32位微机的内存管理与16位微机的有相同之处，也有不同之处，因为它提供了两种不同工作方式：实方式和保护方式。</p>
<h4 id="1、物理地址的计算方式"><a href="#1、物理地址的计算方式" class="headerlink" title="1、物理地址的计算方式"></a>1、物理地址的计算方式</h4><p>&#8195;&#8195;实方式：段地址仍然是16的倍数，每个段的最大容量仍为64K。段寄存器的值是段的起始地址，存储单元的物理地址仍为段寄存器的值乘16，再加上段内偏移量。在此方式下，32位微机的内存管理与16位微机是相一致的。</p>
<p>&#8195;&#8195;保护方式：段地址可以长达32位，其值可以不是16的倍数，每个段的最大容量可达4G。段寄存器的值是表示段地址的“选择器”(Selector)，用该“选择器”可从内存中得到一个32位的段地址，存储单元的物理地址就是该段地址加上段内偏移量，这与16位微机的物理地址计算完全不同。</p>
<p>####2、段寄存器的引用</p>
<p>&#8195;&#8195;32位CPU内有6个段寄存器，程序在某一时刻可访问6个不同的段。其段寄存器的值在不同的方式下具有不同的含义：</p>
<ol>
<li>在实方式下，段寄存器的值就是段地址；</li>
<li>在保护方式下，段寄存器的值不是段地址，是段地址的“选择器”。它间接指出一个32位的段地址。</li>
</ol>
<p>下面分别说明各段寄存器的用法和作用。</p>
<ul>
<li>代码段寄存器：32位微机在取指令时，系统自动引用CS和EIP来取出下条指令。在实方式下，由于段的最大容量不超过64K，所以，EIP的高16位全为0，其效果相当于16位CPU中的IP。</li>
<li><p>堆栈段寄存器：32位微机在访问堆栈段时，总是引用堆栈段寄存器SS。但在不同的方式下其堆栈指针有所不同：</p>
<blockquote>
<ol>
<li>在实方式下，32位微机把ESP的低16位SP作为指向堆栈的指针，所以，我们可以认为栈顶单元是由SS和SP来指定的。这就与16位微机访问栈顶单元的方法相一致；</li>
<li>在保护方式下，堆栈指针可用32位的ESP和16位的SP。</li>
</ol>
</blockquote>
</li>
<li><p>数据段寄存器：DS是主要的数据段寄存器。通常情况下，它是除访问堆栈以外数据时的默认段寄存器。在某些串操作中，其目的操作数的段寄存器被指定为ES是另一个例外。</p>
</li>
</ul>
<p>&#8195;&#8195;另外，段寄存器CS、SS、ES、FS和GS也都可以作为访问数据时的段寄存器，但它们必须用段超越前缀的方式在指令中直接写出。用这种方式会增加指令的长度，指令的执行时间也有所延长。</p>
<p>&#8195;&#8195;一般来说，程序频繁访问的数据段用DS来指向，不太经常访问的数据段可用ES、FS和GS等来指向。</p>
<h4 id="3、存储单元的内容"><a href="#3、存储单元的内容" class="headerlink" title="3、存储单元的内容"></a>3、存储单元的内容</h4><p>32位微机存储单元内容的存储格式与16位微机的完全一致，也都采用“高高低低”的原则来存放数据。</p>

      
    </div>
    
    
    

    

    

    

    <footer class="post-footer">
      
        <div class="post-tags">
          
            <a href="/limh/tags/教程/" rel="tag"># 教程</a>
          
        </div>
      

      
      
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/limh/2015/04/01/asm03/" rel="next" title="2.1 寄存器组">
                <i class="fa fa-chevron-left"></i> 2.1 寄存器组
              </a>
            
          </div>

          <span class="post-nav-divider"></span>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/limh/2015/04/01/asm05/" rel="prev" title="3.1 立即寻址方式">
                3.1 立即寻址方式 <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </div>
  
  
  
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          

  
    <div class="comments" id="comments">
      <div id="SOHUCS"></div>
    </div>

  



        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview-wrap">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview-wrap sidebar-panel">
        <div class="site-overview">
          <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
            
              <img class="site-author-image" itemprop="image" src="/limh/images/avatar.jpg" alt="土逗牛肉">
            
              <p class="site-author-name" itemprop="name">土逗牛肉</p>
              <p class="site-description motion-element" itemprop="description"></p>
          </div>

          <nav class="site-state motion-element">

            
              <div class="site-state-item site-state-posts">
              
                <a href="/limh/archives/">
              
                  <span class="site-state-item-count">255</span>
                  <span class="site-state-item-name">日志</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-categories">
                <a href="/limh/categories/index.html">
                  <span class="site-state-item-count">8</span>
                  <span class="site-state-item-name">分类</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-tags">
                <a href="/limh/tags/index.html">
                  <span class="site-state-item-count">7</span>
                  <span class="site-state-item-name">标签</span>
                </a>
              </div>
            

          </nav>

          

          
            <div class="links-of-author motion-element">
                
                  <span class="links-of-author-item">
                    <a href="https://github.com/limhGeek" target="_blank" title="GitHub">
                      
                        <i class="fa fa-fw fa-github"></i>GitHub</a>
                  </span>
                
                  <span class="links-of-author-item">
                    <a href="mailto:1591054297@qq.com" target="_blank" title="E-Mail">
                      
                        <i class="fa fa-fw fa-envelope"></i>E-Mail</a>
                  </span>
                
                  <span class="links-of-author-item">
                    <a href="https://www.jianshu.com/u/f73b243e7cc9" target="_blank" title="简书">
                      
                        <i class="fa fa-fw fa-user-circle-o"></i>简书</a>
                  </span>
                
            </div>
          

          
          

          
          

          

        </div>
      </section>

      
      <!--noindex-->
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">

            
              
            

            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#2-2-存储器的管理模式"><span class="nav-number">1.</span> <span class="nav-text">2.2 存储器的管理模式</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2-1-16位微机的内存管理模式"><span class="nav-number">1.1.</span> <span class="nav-text">2.2.1 16位微机的内存管理模式</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#1、存储器的分段"><span class="nav-number">1.1.1.</span> <span class="nav-text">1、存储器的分段</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2、物理地址的形成方式"><span class="nav-number">1.1.2.</span> <span class="nav-text">2、物理地址的形成方式</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3、段寄存器的引用"><span class="nav-number">1.1.3.</span> <span class="nav-text">3、段寄存器的引用</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#4、存储单元的内容"><span class="nav-number">1.1.4.</span> <span class="nav-text">4、存储单元的内容</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2-2-32位微机的内存管理模式"><span class="nav-number">1.2.</span> <span class="nav-text">2.2.2 32位微机的内存管理模式</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#1、物理地址的计算方式"><span class="nav-number">1.2.1.</span> <span class="nav-text">1、物理地址的计算方式</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3、存储单元的内容"><span class="nav-number">1.2.2.</span> <span class="nav-text">3、存储单元的内容</span></a></li></ol></li></ol></li></ol></div>
            

          </div>
        </section>
      <!--/noindex-->
      

      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright">&copy; <span itemprop="copyrightYear">2019</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">土逗牛肉</span>

  
</div>


  <div class="powered-by">由 <a class="theme-link" target="_blank" href="https://hexo.io">Hexo</a> 强力驱动</div>



  <span class="post-meta-divider">|</span>



  <div class="theme-info">主题 &mdash; <a class="theme-link" target="_blank" href="https://github.com/iissnan/hexo-theme-next">NexT.Gemini</a> v5.1.4</div>




        







        
      </div>
    </footer>

    
      <div class="back-to-top">
        <i class="fa fa-arrow-up"></i>
        
      </div>
    

    

  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
	var str = GetUrlParam('height');
    if (str === '0'){
		document.getElementById('header').style.display = 'none';
		document.getElementById('comments').style.display = 'none';
		document.getElementById('footer').style.display = 'none';
		document.getElementsByClassName('post-footer').item(0).style.display = 'none'
	}
	
    function GetUrlParam(paraName) {
        var url = document.location.toString();
        var arrObj = url.split("?");

        if (arrObj.length > 1) {
            var arrPara = arrObj[1].split("&");
            var arr;

            for (var i = 0; i < arrPara.length; i++) {
                 arr = arrPara[i].split("=");

                if (arr != null && arr[0] === paraName) {
                    return arr[1];
                }
            }
            return "";
        } else {
            return "";
        }
    }
</script>









  












  
  
    <script type="text/javascript" src="/limh/lib/jquery/index.js?v=2.1.3"></script>
  

  
  
    <script type="text/javascript" src="/limh/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
  

  
  
    <script type="text/javascript" src="/limh/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
  

  
  
    <script type="text/javascript" src="/limh/lib/velocity/velocity.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/limh/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/limh/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
  


  


  <script type="text/javascript" src="/limh/js/src/utils.js?v=5.1.4"></script>

  <script type="text/javascript" src="/limh/js/src/motion.js?v=5.1.4"></script>



  
  


  <script type="text/javascript" src="/limh/js/src/affix.js?v=5.1.4"></script>

  <script type="text/javascript" src="/limh/js/src/schemes/pisces.js?v=5.1.4"></script>



  
  <script type="text/javascript" src="/limh/js/src/scrollspy.js?v=5.1.4"></script>
<script type="text/javascript" src="/limh/js/src/post-details.js?v=5.1.4"></script>



  


  <script type="text/javascript" src="/limh/js/src/bootstrap.js?v=5.1.4"></script>



  


  




	





  





  












  





  

  

  

  
  

  

  

  

</body>
</html>
